chore(deps): Update python uv dependencies#430
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🚀 Lint & Format Check Results: ❌ FAILEDWhat was checked:
❌ Some checks failed!How to fix:
uv run python scripts/lint.py
git add .
git commit -m "fix: apply lint and format fixes"
git push
Individual fix commands:Backend: uv run ruff check --fix
uv run ruff formatFrontend: cd frontend
pnpm lint --fix
pnpm format
cd ..This is an automated check. For questions, ask in the PR discussion. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4ca2f78f8d
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| description = "Web GUI for AutoGLM Phone Agent - AI-powered Android automation" | ||
| readme = "README.md" | ||
| requires-python = ">=3.11" | ||
| requires-python = ">=3.14.5" |
There was a problem hiding this comment.
Restore a supported Python floor
With this floor, uv sync cannot install the project in the documented/CI-supported Python environments: the shared setup action still defaults to Python 3.11 and the integration matrix explicitly runs 3.11, 3.12, 3.13, and 3.14 (.github/actions/setup-python/action.yml, .github/workflows/integration-tests.yml). I also checked the current environment where Python is 3.14.4, and uv sync --frozen --dry-run fails with No interpreter found for Python >=3.14.5, so this change blocks local setup and CI jobs unless every runner has at least 3.14.5 available.
Useful? React with 👍 / 👎.
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #430 +/- ##
==========================================
- Coverage 82.92% 82.48% -0.44%
==========================================
Files 116 116
Lines 12250 11950 -300
==========================================
- Hits 10158 9857 -301
- Misses 2092 2093 +1
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
4ca2f78 to
599a24b
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 599a24bb16
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
|
||
| [project.optional-dependencies] | ||
| droidrun = ["droidrun>=0.4.0"] | ||
| droidrun = ["droidrun>=0.6.1"] |
There was a problem hiding this comment.
Pin DroidRun before the compatibility shim
When the optional DroidRun path is installed (for example scripts/build_electron.py runs uv sync --dev --extra droidrun), this now resolves to droidrun 0.6.1, whose published metadata describes it as a compatibility shim for the mobilerun rename and only packages a top-level droidrun shim, not the droidrun.agent... modules that AutoGLM_GUI/agents/droidrun/async_agent.py imports at runtime. Selecting the DroidRun agent after installing the documented extra will therefore report/import-fail even though the extra was installed; pin to a pre-shim DroidRun release or migrate the adapter to the new Mobilerun API.
Useful? React with 👍 / 👎.
599a24b to
a32f12b
Compare
a32f12b to
b31ce49
Compare
b31ce49 to
1faba38
Compare
3b15c3d to
ad4da53
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ad4da53f55
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
|
||
| [project.optional-dependencies] | ||
| droidrun = ["droidrun>=0.4.0"] | ||
| droidrun = ["droidrun>=0.6.2"] |
There was a problem hiding this comment.
Restore a resolvable DroidRun extra
When the DroidRun extra is installed, this now requires droidrun>=0.6.2 while the project requires Python >=3.14.5; the published droidrun 0.6.2 metadata declares Requires-Python: <3.14,>=3.11, so no interpreter can satisfy both constraints. Fresh evidence beyond the prior shim comment is that this revision locks the 0.6.2 shim, and the Electron build path (scripts/build_electron.py::sync_python_deps) always runs uv sync --dev --extra droidrun, so that build remains unresolvable even on a Python 3.14.5+ runner.
Useful? React with 👍 / 👎.
ad4da53 to
cc8d900
Compare
cc8d900 to
d5ca691
Compare
d5ca691 to
1e31444
Compare
1e31444 to
0e1c952
Compare
509eef1 to
ca1a859
Compare
ca1a859 to
ba6f552
Compare
ba6f552 to
efc98ee
Compare
efc98ee to
3e58824
Compare
3e58824 to
956c09c
Compare
956c09c to
d3f3820
Compare
d3f3820 to
400e1b7
Compare
400e1b7 to
787bf91
Compare
787bf91 to
958022c
Compare
958022c to
9e28471
Compare
9e28471 to
7d915b7
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7d915b75ee
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
|
||
| [project.optional-dependencies] | ||
| droidrun = ["droidrun>=0.4.0"] | ||
| droidrun = ["droidrun>=0.6.7"] |
There was a problem hiding this comment.
Make the DroidRun extra installable
When any workflow installs the documented DroidRun extra (pr-lint, release-gate, and scripts/build_electron.py all install [droidrun]), this bound selects the 0.6.7 PyPI release. That release is still the mobilerun compatibility shim and declares Requires-Python: <3.14,>=3.11, so it cannot be installed under this project’s new requires-python >=3.14.6; even if forced, the shim does not provide the droidrun.agent... modules imported by AutoGLM_GUI/agents/droidrun/async_agent.py. Fresh evidence beyond the earlier 0.6.6 comment is that this revision moves the extra to 0.6.7 and the lock now resolves that shim.
Useful? React with 👍 / 👎.
7d915b7 to
6ade1d2
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 94ef9f9e4d
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
|
||
| [project.optional-dependencies] | ||
| droidrun = ["droidrun>=0.4.0"] | ||
| droidrun = ["droidrun>=0.6.8"] |
There was a problem hiding this comment.
Make the DroidRun extra satisfiable
When a workflow installs the documented DroidRun extra (.github/workflows/pr-lint.yml and release-gate.yml use uv pip install -e ".[droidrun]", and scripts/build_electron.py runs uv sync --dev --extra droidrun), this new bound resolves the 0.6.8 shim, whose PyPI metadata declares Requires-Python: <3.14, >=3.11 while this project now declares requires-python >=3.14.6; no interpreter can satisfy both constraints, so those optional-dependency installs/builds remain unresolvable. Fresh evidence beyond the earlier DroidRun comments is that the current revision moved both the dependency bound and lockfile resolution to 0.6.8.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fd0506c61f
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
|
||
| [project.optional-dependencies] | ||
| droidrun = ["droidrun>=0.4.0"] | ||
| droidrun = ["droidrun>=0.6.10"] |
There was a problem hiding this comment.
Keep DroidRun extra on an installable adapter
Fresh evidence beyond the earlier DroidRun comments is that this revision now moves the optional extra and lockfile to droidrun 0.6.10. Workflows that install this extra (.github/workflows/pr-lint.yml and scripts/build_electron.py) now select a PyPI release marked as a mobilerun compatibility shim with Requires-Python: <3.14, >=3.11, while this project requires >=3.14.6; even if forced, the adapter still imports droidrun.agent... modules in AutoGLM_GUI/agents/droidrun/async_agent.py, which the shim no longer provides. Pin the extra to the last compatible 0.4.x DroidRun release or migrate the adapter to Mobilerun before raising this bound.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 72484640ee
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
|
||
| [project.optional-dependencies] | ||
| droidrun = ["droidrun>=0.4.0"] | ||
| droidrun = ["droidrun>=0.6.11"] |
There was a problem hiding this comment.
Make the DroidRun extra installable
When [droidrun] is installed (.github/workflows/pr-lint.yml, release-gate.yml, and scripts/build_electron.py::sync_python_deps all do this), this bound resolves to droidrun 0.6.11. Fresh evidence beyond the existing 0.6.10 thread is that PyPI's 0.6.11 metadata still declares Requires-Python: <3.14, >=3.11 while this PR sets the project to >=3.14.6, so no interpreter can satisfy the extra; even if forced, uv.lock shows 0.6.11 is only a mobilerun compatibility shim while the adapter imports droidrun.agent... modules.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ec1d672de6
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
|
||
| [project.optional-dependencies] | ||
| droidrun = ["droidrun>=0.4.0"] | ||
| droidrun = ["droidrun>=0.6.12"] |
There was a problem hiding this comment.
Make the DroidRun extra installable
When [droidrun] is installed by the existing PR lint/release gate workflows or by scripts/build_electron.py, this bound now selects droidrun 0.6.12. Fresh evidence beyond the existing 0.6.11 thread is that this revision moves both the extra and lockfile to 0.6.12, whose PyPI metadata still declares Requires-Python: <3.14,>=3.11 while this project declares >=3.14.6, so no interpreter can satisfy the optional dependency; the package is also still only a Mobilerun compatibility shim, while the adapter imports droidrun.agent... modules.
Useful? React with 👍 / 👎.
This PR contains the following updates:
>=3.10.0,<4.0.0→>=3.11.3,<4.0.0>=0.4.0→>=0.6.12>=0.124.0→>=0.140.0>=2.0.0→>=2.14.7>=3.1.0→>=3.1.6>=1.24.0→>=1.26.4>=2.9.0→>=2.48.0>=0.6.4→>=0.18.3>=11.3.0→>=12.3.0>=0.21.0→>=0.26.0>=6.17.0→>=6.21.0>=1.1.407→>=1.1.411>=9.0.2→>=9.1.1>=3.11→>=3.14.6>=5.11.0→>=5.16.3>=0.14.9→>=0.16.0>=0.38.0→>=0.51.0>=0.148.0→>=0.150.0Release Notes
agronholm/apscheduler (apscheduler)
v3.11.3Compare Source
ZoneInfotime zone, caused by the wakeup delay being computed from the naive wall-clock difference instead of the actual UTC difference (#1103)fastapi/fastapi (fastapi)
v0.140.0Compare Source
Refactors
Docs
Internal
v0.139.2Compare Source
Fixes
v0.139.1Compare Source
Fixes
/users/john.doe. PR #16011 by @tiangolo.Docs
skip_usersnot being applied. PR #15995 by @YuriiMotov.Translations
llm-prompt.mdfor Hindi. PR #15810 by @YuriiMotov.Internal
FASTAPI_LATEST_CHANGEStoken inbump-pre-commit-hooksworkflow. PR #15984 by @YuriiMotov.v0.139.0Compare Source
Features
app.frontend(), e.g. for automatic cookie authentication for the frontend. PR #15908 by @tiangolo.Translations
Internal
allow-unsafe-pr-checkout: true. PR #15876 by @YuriiMotov.v0.138.2Compare Source
Refactors
app.frontend()return 404 for methods other thanGETorHEADwith no static file matches. PR #15863 by @tiangolo.Internal
v0.138.1Compare Source
Refactors
Internal
v0.138.0Compare Source
Features
app.frontend("/", directory="dist")androuter.frontend("/", directory="dist"). PR #15800 by @tiangolo.Docs
app.frontend()instructions to Agent Library Skill. PR #15805 by @tiangolo.Translations
Internal
release-notes.mdfor typos. PR #15796 by @YuriiMotov.gpt-5.5model intranslate.py, specify-chatto avoid warnings. PR #15792 by @YuriiMotov.v0.137.2Compare Source
Features
iter_route_contexts()for advanced use cases that used to userouter.routes(e.g. Jupyverse). PR #15785 by @tiangolo.Translations
Internal
coverage.sh. PR #15772 by @tiangolo.v0.137.1Compare Source
Fixes
v0.137.0Compare Source
Breaking Changes
APIRouterandAPIRouteinstances. PR #15745 by @tiangolo.Unblocks ✨ SO MANY THINGS ✨
Before this,
router.include_router(other_router)would take each path operation fromother_routerand "clone" it, or recreate it from scratch.This would mean that in the end there was only one top level router, part of the app.
The way it is structured here is that there are a few additional classes to handle intermediate metadata for router and route inclusion. That way the information of "router X includes Y and Y includes Z" is stored somewhere, without affecting (recreating / clonning) the final route.
Non Objectives
Dependencies for 404: previously I intended to support dependencies that would be executed even for 404, but that would conflict with the fact that a router could not find a match, but the next router did find a match. Executing dependencies in the router that did not find a match would not make sense, they could consume the request, body, etc. This original idea was discarded.
Specific Breaking Changes
Now
router.routesis no longer a plain list ofAPIRouteobjects, it can contain these intermediate objects that can contain additional routers, forming a tree.Any logic that depended on iterating on the
router.routesdirectly would be affected, that logic cannot expect to be able to extract data from a plain list of routes, as it's no longer a plain list but a tree.Additionally, any logic that iterated on
router.routesto modify them would now also see these new objects, and would not see all the routes in the app.router.routesshould be considered an internal implementation detail, only passed around to the FastAPI functions that need it.Features
subrouterinmainroutercan be done before adding routes (path operations) tosubrouter, because now the the entire object is stored instead of copying the routes.Alpha Features
This is not documented yet, so it's not officially supported yet and could change in the future.
But, as
APIRouteandAPIRouterinstances are now preserved, they could be customized.APIRouterhas two new methods,.matches()and.handle(), counterpart to the existing ones inAPIRoute. With this a router could customize how it matches and handles requests. For example, it could match only requests that include some specific header, for example for handling versions in headers.Still, for now, consider this very experimental and potentially changing and breaking in the future.
Future Features Enabled
APIRoutesubclasses (undocumented, but alraedy works as desccribed above)APIRoutersubclasses (undocumented, but already works as described above)Docs
Annotatedin inline example indocs/en/docs/tutorial/body-multiple-params.md. PR #15591 by @TheArchons.docs/en/docs/tutorial/security/oauth2-jwt.md. PR #14781 by @zadevhub.Translations
Internal
changing_dirinstead ofCLIRunner.isolated_filesystemto set working dir. PR #15616 by @YuriiMotov.httpx2test dependency to avoid deprecation warning. PR #15603 by @YuriiMotov.v0.136.3Compare Source
Refactors
convert_underscores=True(the default). PR #15589 by @tiangolo.v0.136.1Compare Source
Upgrades
Internal
v0.136.0Compare Source
Upgrades
v0.135.4Compare Source
Refactors
@app.vibe()🤪. PR #15363 by @tiangolo.Internal
v0.135.3Compare Source
Features
@app.vibe(). PR #15280 by @tiangolo.Docs
client_secretin OAuth2 form docstrings. PR #14946 by @bysiber.Internal
lint.sh. PR #15136 by @svlandeg.v0.135.2Compare Source
Upgrades
pydantic >=2.9.0.and fix the test suite. PR #15139 by @svlandeg.Docs
pyproject.tomlwithentrypoint. PR #15075 by @tiangolo.target=_blankfor links in docs. PR #15063 by @tiangolo.max_digitsanddecimal_places. PR #14944 by @YuriiMotov.Translations